package cn.wzy.common;

/**
 * @author nihaowzy
 * @date 2020/12/22 16:44
 * 后台返回的结果封装类 让后通过json工具转化为json字符串返回给前端
 */
public class Result {
    /**
     * 业务码
     * 一般会有一个统一的成功的数字
     */
    private Integer code;
    /**
     * 业务消息
     *
     */
    private String msg;
    /**
     * 业务返回的具体的数据
     */
    private Object data;



    /**
     * 成功 会放回默认的响应码 和业务消息
     * 成功时，是相同的 但是失败时 失败的原因是各不相同的，
     * 无参构造是代表成功了 ，例如添加修改 返回响应码 和响应消息
     */
    public Result(){
        this.code = CodeMsg.SUCCESS.code;
        this.msg = CodeMsg.SUCCESS.msg;
    }



    /**
     *  成功后的构造器
     * @param data
     */
    public Result(Object data){
        this();
        this.data = data;
    }

    /**
     * 失败结果的构造器 如果错误就只返回 错误的业务码和业务消息
      * @param codeMsg
     */
    public Result(CodeMsg codeMsg) {
        this.code = codeMsg.code;
        this.msg = codeMsg.msg;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }


    @Override
    public String toString() {
        return "Result{" +
                "code=" + code +
                ", msg='" + msg + '\'' +
                ", data=" + data +
                '}';
    }
}
